1. Field of the Invention
The present invention relates to the field of Artificial General Intelligence, more specifically, machine learning and the comprehension of natural human language.
2. Description of the Prior Art
Alan Turing, in his 1950 paper “Computing Machinery and Intelligence,” proposed the following question: “Can machines do what we (as thinking entities) can do?” To answer it, he described his now famous test in which a human judge engages in a natural language conversation via teletype with one human and one machine, each of which try to appear human; if the judge cannot reliably tell which is which, then the machine is said to pass the test.
The Turing Test bounds the domain of intelligence without defining what it is. That is useful because people do not know, or at least cannot agree, about what intelligence is; we recognize it by its results. This domain, when seen from the machine perspective, is called Artificial Intelligence. However, over the more than 60 years since Turing's formulation, the term has been loosely applied and is now often used to refer to software that does not by anyone's definition enable machines to “do what we (as thinking entities) can do,” but rather merely emulates some perceived component of intelligence such as inference or some structure of the brain such as a neural network. Recently the term “Artificial General Intelligence” (AGI) has come into use to refer precisely to the domain as Turing defined it.
With the exception of the invention disclosed here, it is believed that the current and prior work in AGI has focused on the development of sophisticated information processing algorithms, generally designed to embody a theory of human intelligence or brain function. These approaches see knowledge as a collection of facts created by the algorithms.
Emulation of Human Intelligence
Prior AI researchers have, for the most part, focused on intelligence as an information processing task. This seems to be the obvious approach since humans take in raw sensory data, process it in some way, and produce useful results. That processing step seems to be what is meant by intelligence.
Much software has been written to reproduce or emulate various human mental capabilities, including memory storage and retrieval, logic or inference and pattern matching. Computers now do all of these things very well.
Software “expert systems” using inference engines have produced some very interesting results in restricted domains. Pattern matching, which is the underlying skill required for Master-level chess playing has been implemented in programs demonstrated to be equal or superior to the best human players. Sophisticated data mining algorithms working against mammoth databases, such as IBM's Watson “Jeopardy” playing program, can exceed human performance in general knowledge fact retrieval.
Machine intelligence, however, at least at the level most people would call intelligence has remained elusive and the initial enthusiasm of the 1980's and early 1990s was followed by a period of skepticism sometimes referred to as the “AI Winter”. AI skeptics point out that machines do not exhibit any actual comprehension, that is, computers process information but they don't actually understand anything about the world.
Although the software technologies of the last several decades did not converge on anything that would ever have a chance at passing the Turing test, they are still termed AI but with the modifier “narrow” to distinguish them from “real” or general AI”.
The current consensus appears to be that AGI will only be achieved by computer emulation of human brain functions and will probably require massive computational resources. Much of the current technical work being pursued focuses on this approach. This perhaps explains why optimism about AGI is growing as it is generally thought that the computational power of computers will soon reach parity with the human brain.
While it may ultimately be possible to create something that produces interesting results by emulating human brain functions on a large scale, it is believed this approach appears to be misguided.
Knowledge-Based Systems
A key difficulty with development of intelligent programs is that intelligence requires knowledge to work but knowledge is also a product of intelligence. Thus endowing computers with the capacity for intelligent action has been a chicken-and-egg problem. There have been a few attempts to create learning systems capable of “bootstrapping” the required world knowledge starting from a “blank slate”. In practice this has proven insurmountably difficult.
So called “knowledge-based systems” where the knowledge is contained in explicitly defined rules have shown more promise. These systems have generally treated knowledge as a large unstructured collection of assertions such as “Roses are Red.” Such assertions when collected in rule sets provide the basis for “expert systems” which is an AI technique that was much celebrated back in the 1980s but has found few practical applications.
The most significant of these has been undertaken by Cyc Corporation of Austin Tex. and has been underway since 1984 with the goal of creating a system that exhibits what humans would call common sense. This system currently contains about 300,000 elements (like “sky”, and “blue”) with 3 million assertions (“the sky is blue”). By their own estimates this represents only 2% of what is needed to be comparable with humans. This is certainly not a compact approach.
The Cyc project illustrates the problem with systems that represent knowledge as a simple compilation of assertions. The number of individual elements required to do anything useful quickly becomes unworkable in view of the systems do not scale.
The Sematic Web
More recently, the term “Ontology” has entered the jargon of Artificial Intelligence researchers, particularly in the context of what is called the “Semantic Web.” An ontology is a formal definition of a body of knowledge and describes how the concepts that make up that body of knowledge relate to one another. For example, what concept is a subclass of another or what are the attributes of a given member of a class and what are the allowable values for those attributes?
The World Wide Web Consortium has published an xml (markup language) standard for describing Ontologies called the Web Ontology Language which is misspelled OWL for short. OWL has the flexibility to specify arbitrary knowledge precisely. Specifications of this type are an important step forward toward to enabling computers to process information as knowledge.
To date, however, software written to process ontologies expressed in this manner has been very application specific. For example, to make a computer store of medical information searchable in a more powerful way than is possible with a relational database.
It is envisioned that this approach will ultimately result in what is called the Semantic Web. This would be an Internet composed of well-structured ontologies that could permit retrieval of very specific information based on a few simple queries. The software that processes these information stores are called “reasoners” or sometimes, more accurately, “classifiers.”
The ability to correctly classify, that is, place a given concept or element of information within a larger well-structured ontology, is a powerful technique. The “reasoners” can identify and classify but they remain programs which run without altering the machines' over-all state with respect to the world around it. They may produce the correct answer to a query but their operation does not produce comprehension in the machine.
Understanding the limitations of the current efforts is illustrated by the fact that domain specific Ontologies are (quite accurately) referred to as knowledge-bases. This is undoubtedly by analogy with databases which contain data organized for quick and accurate data retrieval. Modern knowledge-bases have an ontological structure (as opposed to older ones that were collections of unstructured assertions or rules) but are designed solely for the storage and retrieval of knowledge in response to specific queries.
The intent of the Semantic Web is to replace current web pages designed to be read by humans with machine readable data so that software can perform more of the tedious work involved in finding, combining and acting upon information on the web. It would, were it ever to be realized, make software better at providing humans with information but ultimately it still is about retrieving information for human comprehension. The semantic web has nothing resembling comprehension in itself.
Properly speaking Semantic Web technologies are aimed at the creation of machine readable languages which differ from other computer languages only in that they permit rich meta-data to be applied to text data. Thus, they are not really models of real-world objects but rather semantic models of information optimized for web searches.
Natural Language Interfaces
Currently there are a number of applications with natural language interfaces that are often marketed as “AI.” Basically these are text-based interfaces which simply match an explicit text pattern stored in memory with a particular function. Sometimes a variable can be specified in the input pattern and searched against a database for possible alternative responses. “Chatbots”, which have found some commercial application, are of this type.
More advanced applications with natural language interfaces use sophisticated search and data mining algorithms against large databases to “guess” a useful result to a particular language input pattern, and are able to eliminate multiple hits depending on the program's current operating context.
IBM's Jeopardy Playing program is of this sort, using the question's category to eliminate otherwise high probability answers. Apple's SIRI uses contextual information such as the user's location or time of day, as well as explicitly entered user preferences, to narrow down the possibilities.
The downfall of these programs is that when they get the right answer they are useful but since they have no idea of what the user is actually talking about. When the algorithms don't return an answer, they are dead in the water, frustrating the user. Also, they don't know that they don't know since they don't know anything. There is a vast difference between knowledge and data. They often return a completely wrong result, frustrating the user even more.
Consider, this actual exchange with SIRI:
Human: What is a cat?
SIRI: I found a number of pet stores near you.
A four year old would easily comprehend the meaning of the statement but SIRI obviously has no idea what the human is talking about.
The current approach for implementing AI leads to a conclusion about machine intelligence. In so far as intelligence is about information processing, computers are today already more intelligent than humans. Computers lack the capacity for intelligent action not because they lack intelligence but because they are totally ignorant about the world.
Thus the question becomes, “can a computer be endowed with knowledge of the world, or in other words, a world model?” The answer is yes with the invention.
Prior computer “models” have been either mathematical models of physical processes like those used in weather prediction or informational models which structure data in a specific databases or knowledge-bases to optimize search and retrieval algorithms or to solve a well-defined and bounded set of problems by the application of logic trees.